package com.javatian.service;

import com.github.pagehelper.PageInfo;
import com.javatian.entity.Account;
import com.javatian.entity.OrderInfo;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 订单信息对外提供的服务
 */
@Service
public interface OrderInfoService {

    /**
     * 下单
     */
    public OrderInfo add(OrderInfo orderInfo);

    /**
     * 删除一条记录
     */
    public void delete(Long id);

    /**
     * 修改订单状态
     */

    public void changeStatus(Long id,String status);

    /**
     * 根据主键查询一条记录
     */
    public OrderInfo findById(Long id);

    /**
     * 查询某个用户的所有订单
     */
    public List<OrderInfo> findAll(Long user,Integer level);

    /**
     * 根据条件分页查询
     */
    public PageInfo<OrderInfo> findEndPage(Integer pageNum, Integer pageSize, Account user);
    public PageInfo<OrderInfo> findFrontPage(Integer pageNum, Integer pageSize, Long userId,Integer level);

    /*交易总额*/
    public Double totalPrice();

    /*分类总销售额*/
    List<Map<String,Object>> getTypePrice();

    /*分类总销量*/
    List<Map<String,Object>> getTypeCount();
}
